{\rtf1\ansi\deff0\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset0 Nimbus Roman No9 L{\*\falt Times New Roman};}{\f1\froman\fprq2\fcharset0 Nimbus Roman No9 L{\*\falt Times New Roman};}{\f2\fnil\fprq2\fcharset0 Nimbus Sans L{\*\falt Arial};}{\f3\fnil\fprq0\fcharset2 StarSymbol;}{\f4\fnil\fprq2\fcharset0 Tahoma{\*\falt Lucidasans};}{\f5\fnil\fprq0\fcharset0 Tahoma{\*\falt Lucidasans};}}
{\colortbl;\red0\green0\blue0;\red128\green128\blue128;}
{\stylesheet{\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af4\afs24\lang255\ltrch\dbch\af2\afs24\langfe255\loch\f0\fs24\lang1033\snext1 Default;}
{\s2\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af4\afs24\lang255\ltrch\dbch\af2\afs24\langfe255\loch\f0\fs24\lang1033\sbasedon1\snext2 Text body;}
{\s3\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af5\afs24\lang255\ltrch\dbch\af2\afs24\langfe255\loch\f0\fs24\lang1033\sbasedon2\snext3 List;}
{\s4\sb120\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af5\afs20\lang255\ai\ltrch\dbch\af2\afs20\langfe255\ai\loch\f0\fs20\lang1033\i\sbasedon1\snext4 Caption;}
{\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af5\afs24\lang255\ltrch\dbch\af2\afs24\langfe255\loch\f0\fs24\lang1033\sbasedon1\snext5 Index;}
{\*\cs7\cf0\rtlch\af3\afs18\lang255\ltrch\dbch\af3\afs18\langfe255\loch\f3\fs18\lang1033 Bullets;}
}{\*\listtable{\list\listtemplateid1
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li283}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li567}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li850}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1134}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1417}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1701}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1984}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2268}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2551}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2835}}\listid1}
{\list\listtemplateid2
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li283}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li567}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li850}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1134}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1417}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1701}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1984}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2268}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2551}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2835}}\listid2}
{\list\listtemplateid3
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li283}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li567}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li850}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1134}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1417}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1701}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1984}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2268}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2551}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2835}}\listid3}
{\list\listtemplateid4
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li283}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li567}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li850}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1134}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1417}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1701}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1984}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2268}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2551}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2835}}\listid4}
{\list\listtemplateid5
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li283}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li567}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li850}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1134}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1417}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1701}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li1984}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2268}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2551}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow2{\leveltext \'01\u9679 ?;}{\levelnumbers;}\f3\fs18\f3\fs18\f3\fs18\f3\fi-283\li2835}}\listid5}
}{\listoverridetable{\listoverride\listid1\listoverridecount0\ls0}{\listoverride\listid2\listoverridecount0\ls1}{\listoverride\listid3\listoverridecount0\ls2}{\listoverride\listid4\listoverridecount0\ls3}{\listoverride\listid5\listoverridecount0\ls4}}

{\info{\creatim\yr2006\mo12\dy13\hr13\min19}{\revtim\yr2007\mo1\dy25\hr16\min13}{\printim\yr1601\mo1\dy1\hr0\min0}{\comment StarWriter}{\vern6450}}\deftab709
{\*\pgdsctbl
{\pgdsc0\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\pgdscnxt0 Default;}}
\paperh15840\paperw12240\margl1800\margr1800\margt1440\margb1440\sectd\sbknone\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
\pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af4\afs28\lang255\ab\ltrch\dbch\af2\afs28\langfe255\ab\loch\f0\fs28\lang1033\b {\loch\f0\fs28\lang1033\i0\b GANESHA, a multi-usage with large cache NFSv4 server. }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af4\afs22\lang255\ltrch\dbch\af2\afs22\langfe255\loch\f0\fs22\lang1033 {\loch\f0\fs22\lang1033\i0\b0 \tab Work In Progress Submission. Contact: Philippe Deniel (philippe.deniel@cea.fr)}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang255\ltrch\dbch\af2\afs28\langfe255\loch\f0\fs28\lang1033 
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f0\fs20\lang1033 {\loch\f0\fs20\lang1033\i0\b0 The NFSv4 protocol is quite different from former versions of the NFS protocol: it provides enhanced caching capability and it is generic enough in its semantic to handle many different file systems. GANESHA is a NFS server which runs in  user space. Its d
esign is oriented to take advantage of these two aspects: aggressive caching and capability to manage as many  different sets of data  as possible.}
\par 
\par {\loch\f0\fs20\lang1033\i0\b0 Caching is done for data and metadata.  Performance is a key point, it is addressed by building the  complete metadata cache within the memory. This cache is based on a associative addressing via hash tables based on Red-Black Trees based which scale like 
O( log(n) ). The GANESHA server runs in user space, this makes it possible to allocate huge pieces of memory (several Gigabytes). An internal mechanism (based upon Buddy Block paradigm)  optimizes memory use. One of the goal of the product is to keep sever
al days of "active inodes" in memory.}
\par 
\par {\loch\f0\fs20\lang1033\i0\b0 GANESHA makes use of backend modules called "File System Abstraction Layers" or FSAL. A FSAL provides  all the necessary calls to access a file system. NFSv4 requires only a few "mandatory" attributes for files and directories, which makes it possible to a
ddress very basic file systems. Therefore, a FSAL can be built on top of sets of data organized as trees, where each entry has a name. For example, SNMP and LDAP meet the requirement for building a FSAL on top of them. They could be "plugged" into GANESHA 
if the right FSAL is developed.}
\par 
\par {\loch\f0\fs20\lang1033\i0\b0 Currently, GANESHA supports the two following FSAL:}
\par 
\par \pard\plain {\listtext\pard\plain \li283\ri0\lin283\rin0\fi-283\fs20\fs20\fs20\qj\f3\fs18\f3\fs18\f3\fs18 \u9679 ?}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls4\aspalpha\li283\ri0\lin283\rin0\fi-283\rtlch\af4\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f0\fs20\lang1033 {\loch\f0\fs20\lang1033\i0\b0 \ldblquote HPSS FSAL\rdblquote : with this module, GANESHA will provide NFS support to HPSS (HPSS is an HSM developed by the DOE and IBM Government Systems).  }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f0\fs20\lang1033 
\par \pard\plain {\listtext\pard\plain \li283\ri0\lin283\rin0\fi-283\fs20\fs20\fs20\qj\f3\fs18\f3\fs18\f3\fs18 \u9679 ?}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls3\aspalpha\li283\ri0\lin283\rin0\fi-283\rtlch\af4\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f0\fs20\lang1033 {\loch\f0\fs20\lang1033\i0\b0 "POSIX FSAL": with this module, GANESHA will provide NFS support to any file systems with no \ldblquote handle based\rdblquote  APIs, through the use of the standard POSIX calls. }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f0\fs20\lang1033 
\par {\loch\f0\fs20\lang1033\i0\b0 The following FSAL are under development:}
\par 
\par \pard\plain {\listtext\pard\plain \li283\ri0\lin283\rin0\fi-283\fs20\fs20\fs20\qj\f3\fs18\f3\fs18\f3\fs18 \u9679 ?}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls2\aspalpha\li283\ri0\lin283\rin0\fi-283\rtlch\af4\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f0\fs20\lang1033 {\loch\f0\fs20\lang1033\i0\b0 "NFSv4 Client FSAL": if you have a FSAL that is a NFSv4 client with GANESHA's aggressive caching, it will turn GANESHA into a NFSv4 proxy (by using NFSv4 file delegation and future NFSv4.1 directory delegation);}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f0\fs20\lang1033 
\par \pard\plain {\listtext\pard\plain \li283\ri0\lin283\rin0\fi-283\fs20\fs20\fs20\qj\f3\fs18\f3\fs18\f3\fs18 \u9679 ?}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li283\ri0\lin283\rin0\fi-283\rtlch\af4\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f0\fs20\lang1033 {\loch\f0\fs20\lang1033\i0\b0 \ldblquote SNMP FSAL\rdblquote : with this FSAL, GANESHA will provide NFS access to SNMP. MIBS related  information will be browsed like the /proc file system. }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f0\fs20\lang1033 
\par \pard\plain {\listtext\pard\plain \li283\ri0\lin283\rin0\fi-283\fs20\fs20\fs20\qj\f3\fs18\f3\fs18\f3\fs18 \u9679 ?}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls0\aspalpha\li283\ri0\lin283\rin0\fi-283\rtlch\af4\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f0\fs20\lang1033 {\loch\f0\fs20\lang1033\i0\b0 LDAP FSAL: with this module, GANESHA will provide access to LDAP trees. Accessing them will be similar to browsing the /proc filesystem. }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f0\fs20\lang1033 
\par {\loch\f0\fs20\lang1033\i0\b0 GANESHA has been{\uldb} used in production on our site for one year. A website and a submission to Freshmeat and Sourceforge will be available in a few weeks. }
\par }